Skip to content

JVM、JRE 和 JDK 介绍

字数
817 字
阅读时间
4 分钟

1. JVM(Java Virtual Machine)

定义

JVM(Java Virtual Machine)即 Java 虚拟机,是 Java 程序运行的核心环境。它是一个抽象的计算机,负责执行 Java 字节码,将其翻译为特定操作系统的机器码。

功能

  • 执行字节码:JVM 负责执行由 Java 编译器生成的字节码文件(.class 文件),使其能够在不同的操作系统上运行。
  • 内存管理:JVM 提供了垃圾回收机制(Garbage Collection, GC),自动管理内存分配和释放,避免内存泄漏。
  • 平台无关性:JVM 是 Java 跨平台特性的关键,通过在不同平台上提供特定的 JVM 实现,使得 Java 程序可以在任何安装了 JVM 的设备上运行。
  • 安全性:JVM 提供了安全机制,防止恶意代码对系统资源的非法访问。

2. JRE(Java Runtime Environment)

定义

JRE(Java Runtime Environment)即 Java 运行时环境,是运行已编译 Java 程序所需的所有内容的集合。

组成部分

  • JVM:JRE 包含 JVM,负责执行 Java 字节码。
  • 类库(核心类库):JRE 包含了一系列标准的 Java 类库,为 Java 应用提供了常用功能,如基础数据结构、I/O 操作、网络通信、多线程和并发、图形界面等。
  • Java 类加载器:负责将 Java 类文件加载到内存中。
  • 垃圾回收机制:管理应用程序的内存分配和释放。

用途

  • 运行 Java 程序:JRE 提供了运行 Java 应用程序所需的环境,普通用户只需安装 JRE 即可运行 Java 应用。
  • 跨平台支持:通过 JVM,JRE 保证了 Java 程序在不同平台上的一致运行行为。

3. JDK(Java Development Kit)

定义

JDK(Java Development Kit)即 Java 开发工具包,是 Java 语言的软件开发工具包,包含了用于支持 Java 程序员开发和编译 Java 应用程序的标准开发工具集合。

组成部分

  • JVM:JDK 包含 JVM,用于运行编译后的 Java 字节码。
  • JRE:JDK 包含完整的 JRE,用于运行 Java 应用程序。
  • 开发工具:JDK 提供了许多开发工具,帮助开发人员完成从源代码编写到程序运行的全过程,如 javac(Java 编译器)、java(JVM 的入口)、javadoc(文档生成工具)、jdb(Java 调试器)、jar(打包工具)、javap(Java 反汇编工具)等。
  • 类库:JDK 包含了大量的标准类库,为 Java 程序提供了各种基础功能。

用途

  • 开发 Java 程序:JDK 是开发人员必备的工具箱,提供了编译、运行 Java 程序所需的一切元素。
  • 辅助开发和维护:JDK 提供了许多辅助开发和维护 Java 应用程序的实用工具,如监控和诊断工具(jpsjinfojstatjmapjhatjstack)。

贡献者

文件历史